/**
 * File: FileIndexWriter.java
 * Created by: mhaimel
 * Created on: 15 Jul 2009
 * CVS:  $Id: FileIndexWriter.java,v 1.2 2009/12/07 10:08:27 mhaimel Exp $
 */
package uk.ac.ebi.curtain.util;

import uk.ac.ebi.curtain.util.FileIndexUtil.FileIndexEvent;
import uk.ac.ebi.curtain.utils.file.FileInfo;
import uk.ac.ebi.velvet.model.Strand;

/**
 * @author mhaimel
 *
 */
public interface FileIndexWriter extends FileIndexEvent {

	Integer registerFile(FileInfo fileInfo, Integer category);
	void addRead(Integer fileId, String key, Strand strand, Long position);
	void addReadPosition(Integer fileId, Strand strand,Long pos);
	void addContig(Integer fileId, String key, Long pos);
	void addContigPosition(Integer fileId, Long pos);
	void addReadBatch(Integer[] fileIds, String[] keys, Strand[] strands,Long[] positions);
	void synchronize(FileIndexReader reader);
	
}
